package com.blrs.service.questionnaire;

import java.util.List;

import com.blrs.common.core.domain.AjaxResult;
import com.blrs.domain.QuestionnaireInvestigation;

/**
 * 问卷调查Service接口
 * 
 * @author yang
 * @date 2023-11-27
 */
public interface IQuestionnaireInvestigationService 
{
    /**
     * 查询问卷调查
     * 
     * @param questionnaireId 问卷调查主键
     * @return 问卷调查
     */
    public QuestionnaireInvestigation selectQuestionnaireInvestigationByQuestionnaireId(String questionnaireId);

    /**
     * 查询问卷调查列表
     * 
     * @param questionnaireInvestigation 问卷调查
     * @return 问卷调查集合
     */
    public List<QuestionnaireInvestigation> selectQuestionnaireInvestigationList(QuestionnaireInvestigation questionnaireInvestigation);
    public List<QuestionnaireInvestigation> selectQuestionnaireInvestigationByEnterpriseIdList(QuestionnaireInvestigation questionnaireInvestigation);
    public List<QuestionnaireInvestigation> selectQuestionnaireInvestigationListByOrgId(QuestionnaireInvestigation questionnaireInvestigation);

    /**
     * 新增问卷调查
     * 
     * @param questionnaireInvestigation 问卷调查
     * @return 结果
     */
    public String insertQuestionnaireInvestigation(QuestionnaireInvestigation questionnaireInvestigation) throws NoSuchFieldException, IllegalAccessException;

    /**
     * 修改问卷调查
     * 
     * @param questionnaireInvestigation 问卷调查
     * @return 结果
     */
    public int updateQuestionnaireInvestigation(QuestionnaireInvestigation questionnaireInvestigation);

    /**
     * 批量删除问卷调查
     * 
     * @param questionnaireIds 需要删除的问卷调查主键集合
     * @return 结果
     */
    public int deleteQuestionnaireInvestigationByQuestionnaireIds(String[] questionnaireIds);

    /**
     * 删除问卷调查信息
     * 
     * @param questionnaireId 问卷调查主键
     * @return 结果
     */
    public int deleteQuestionnaireInvestigationByQuestionnaireId(String questionnaireId);

    List<QuestionnaireInvestigation> selectQuestionnaireInvestigationListHis(QuestionnaireInvestigation questionnaireInvestigation);

    AjaxResult examineById(QuestionnaireInvestigation id);

    List<QuestionnaireInvestigation> selectQuestionnaireInvestigationListReception(QuestionnaireInvestigation questionnaireInvestigation);

    List<QuestionnaireInvestigation> selectQuestionnaireInvestigationListByExamine(QuestionnaireInvestigation questionnaireInvestigation);

    AjaxResult selectQuestionnaireInvestigationExamineById(String id);
}
